﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DeJC.DAL.Model;

namespace DeJC.BLL.Managers {
    public static class UserLogManager {
        public static IEnumerable<UserLog> GetUserLogs()
        {
            IEnumerable<UserLog> userLogs;
            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                userLogs = unitOfWork.UserLogRepository.GetAll();
            }
            return userLogs;
        }

        public static bool AddUserLog(UserLog userLog)
        {
            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                unitOfWork.UserLogRepository.Add(userLog);
                unitOfWork.Save();
            }
            return true;
        }

        //public bool UpdateUserLog(UserLog userLog, int id) {
        //    using(UnitOfWork unitOfWork=new UnitOfWork()) {
        //        var userLogEntity=unitOfWork.UserLogRepository.GetById(id);
        //        userLogEntity.Title=userLog.Title;
        //        userLogEntity.FirstName=userLog.FirstName;
        //        userLogEntity.LastName=userLog.LastName;
        //        userLogEntity.ModifiedDate=DateTime.Now;
        //        unitOfWork.Save();
        //    }
        //    return true;
        //}

        //public static bool DeleteUserLog(int id)
        //{
        //    using (UnitOfWork unitOfWork = new UnitOfWork())
        //    {
        //        UserLog userLog = unitOfWork.UserLogRepository.GetById(id);
        //        userLog.Deleted=true;
        //        userLog.DeletedDate=DateTime.Now;
        //        unitOfWork.Save();
        //    }
        //    return true;
        //}

        // public List<UserLog> GetUserLogPaged(int page, int rows, out int totalCount)
        // {
            // List<UserLog> userLogs;
            // using (UnitOfWork unitOfWork = new UnitOfWork())
            // {
                // userLogs = unitOfWork.UserLogRepository.GetUserLogPaged
                // (page, rows, out totalCount);
            // }
            // return userLogs;
        // }
        public static UserLog GetById(int id)
        {
            UserLog userLog;
            using (UnitOfWork unitOfWork = new UnitOfWork())
            {
                userLog = unitOfWork.UserLogRepository.GetById(id);
            }
            return userLog;
        }
    }
}
